// 定义一个基类（父类）
class Animal {
    void makeSound() {
        System.out.println("The animal makes a sound");
    }
}
// 定义一个派生类（子类），继承自Animal类
class Dog extends Animal {
    // 重写父类的方法
    @Override
    void makeSound() {
        System.out.println("The dog barks");
    }
}
// 另一个派生类（子类），也继承自Animal类
class Cat extends Animal {
    // 重写父类的方法
    @Override
    void makeSound() {
        System.out.println("The cat meows");
    }
}

// 主类，用于演示多态
public class Test {
    public static void main(String[] args) {
        //创建两个对象，一个为Dog类，一个为Cat类
        Animal animalDog = new Dog();
        Animal animalCat = new Cat();

        //分别调用makeSound方法
        animalDog.makeSound();
        animalCat.makeSound();
    }
}